#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

// pid_t fork(void);
// pid_t getpid(void);
// pid_t getppid(void);
int main()
{

    printf("main \n");

    pid_t pid = fork();

    if (pid == -1)
    {
        printf("创建进程失败 \n");
    }

    if (pid == 0) // 子进程   //运行一次后占用CPU资源，不运行代码。  僵尸态
    {
        printf("child apple  pid=%d  ppid=%d\n", getpid(), getppid());
    }

    if (pid > 0) // 父进程 但是返回的ID号表示的是子进程的ID号
    {
        while (1)
        {
            sleep(2);
            printf("parent hello 父pid=%d  父父ppid=%d  子fork->pid=%d\n", getpid(), getppid(), pid);
        }
    }

    return 0;
}
